Windows support#2
Conversation
a5f4e96 to
7cd63c7
Compare
7cd63c7 to
a755ab0
Compare
|
The only thing which is missing now is a compatible libCbc, but I can't find one. |
|
@carrascomj maybe this helps |
|
@EdorianDark Great, that looks very promising! Could this work https://bintray.com/coin-or/download/download_file?file_path=Cbc-refactor-win64-msvc14-mdd.zip ? Or maybe the others here https://bintray.com/coin-or/download/Cbc/ |
|
I give up. I have no idea what the difference between all these builds for windows is. |
|
Seems like the ABI should be stdcall on windows, maybe that's the problem? |
There are different system ABIs on Windows, for example C and stdcall. System defaults to C, expect on Windows, where stdcall is used.
|
The remaining problem seems to be to find the remaining Cbc library.
|
|
https://bintray.com/coin-or/download/download_file?file_path=Cbc-2.10-win64-msvc15-mdd.zip should do the trick. All these msvc builds are because the C++ ABI is different between the different compiler versions. But here we use the C abi, thus all builds should work. |
@TeXitoi That didn't work :(. I tried this fork with the file here. By the way, I also tried without using that file in this CI without any conditional compilation, and it didn't work either. |
|
Hey, that's better! According to the logs msvc14 is used, so better to use https://bintray.com/coin-or/download/download_file?file_path=Cbc-2.10-win64-msvc14-md.zip Then, the dependencies need to be also given. Looks like osi-clp cgl osi coinutils are needed. so maybe giving more libs will fix the problem? |
|
@TeXitoi That's all included in the Cbc zip file, so I tried linking everything under lib (that's basically required for those deps). It didn't work. My wild guess is that we are missing the |
|
Hello, I am currently trying to get this to run in Windows. I got it to work using these steps:
fn main() {
println!(
r"cargo:rustc-link-search=<path_to_where_cbc_libs_are>\\lib"
);
println!(r"cargo:rustc-link-lib=static=CbcSolver");
println!(r"cargo:rustc-link-lib=static=libCbc");
println!(r"cargo:rustc-link-lib=static=libCgl");
println!(r"cargo:rustc-link-lib=static=libCoinUtils");
println!(r"cargo:rustc-link-lib=static=libClp");
println!(r"cargo:rustc-link-lib=static=libOsi");
println!(r"cargo:rustc-link-lib=static=libOsiClp");
}
Now: is there somebody still trying this out? Or do the owners here think it might be better to start fresh? Thank you in advance, Phil |
|
edit: disregard this as a question because there indeed is a "static" flag. Its in the link attribute as Hi! What the status of using coin_cbc on Windows (not WSL)? I can readily get my cbc install found but, even after having tried many of the cbc releases, I just end up with unresolved exports. @philsuess stated success using 'the statically linked libs' but I'm not sure how that got things running. According to the docs
So is there a static lib flag or something? I don't know, about now I'm just shooting into the dark... Any help or info would be appreciated. |
|
@Thell the text you are quoting is not really about a dynamic library, but about a library compiled without thread safety. |
No description provided.